home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / hypertxt.arj / 9306 / CGAEGA2.CD < prev    next >
Text File  |  1995-04-16  |  22KB  |  357 lines

  1.           @VGrafikus konvertálások -- IV.@N
  2.           
  3.           @VA CGA és az EGA lehetôségei@N
  4.           
  5.           Sorozatunk  elôzô  részében  részletesen  tárgyaltuk, miként
  6.           lehet   egy   tetszôleges  CGA  vagy  EGA  képrôl  valósághû
  7.           színeket    tartalmazó   ábrákat   leképezni.   Most   azzal
  8.           foglalkozunk,  hogy  hogyan  lehet  ezeket  a megjelenítôket
  9.           felkészíteni    egy    tetszôleges    számú   színárnyalatot
  10.           tartalmazó    kép    megjelenítésére,   és   miként   tudjuk
  11.           végrehajtani a tényleges megjelenítést.
  12.           
  13.           
  14.           
  15.           
  16.           Az  eljárások  során  mindvégig  az volt az irányadó, hogy a
  17.           lehetô   legjobban   kihasználjuk   az   egyes  paletták  és
  18.           felbontások kínálta lehetôségeket.
  19.           
  20.           
  21.            @VAz üzemmódok felkészítése a köztes információ@N
  22.           @V fogadására@N
  23.           
  24.           A  konvertálásoknak ez az a része, amitôl minden specialista
  25.           retteg.  A szakirodalom szûkszavúan palettaoptimalizálásként
  26.           tartja   számon.   Tényleg   nem  egyszerû  a  feladat,  ami
  27.           voltaképp  azt  takarja, hogy miképp lehet meghatározatlanul
  28.           nagy    --    esetünkben   16,7   millió   --   számú   szín
  29.           megjelenítéséhez    a    legmegfelelôbb    @Kx@N   számú   színt
  30.           megtalálni.  Az  @Kx@N  értelemszerûen  a  pillanatnyi  grafikus
  31.           üzemmódban  megjeleníthetô  színek  maximális  száma (most 4
  32.           vagy  16).  Ezekkel a színekkel gazdálkodhatunk majd, hogy a
  33.           lehetô legjobban megközelítsük a kívánt árnyalatokat.
  34.           
  35.           Legegyszerûbb  dolgunk a CGA 160x200-as felbontású, 16 színû
  36.           üzemmódjánál  van,  hiszen  itt  egyáltalán nincs választási
  37.           lehetôségünk.  Nincs  paletta,  amirôl  válogatni lehetne --
  38.           összesen  16  szín  van, ezek egyidôben meg is jeleníthetôk.
  39.           Nagyon  mostoha  a  helyzet  azonban  a  CGA  másik, 320x200
  40.           képpont  felbontású,  4 színû üzemmódja esetében. A grafikus
  41.           kártya   kifejlesztôinek   sikerült  megtalálniuk  a  lehetô
  42.           legrosszabb   és   legésszerûtlenebb   megoldást   a  színek
  43.           megválasztásának  elôsegítésére. Két palettát készítettek, e
  44.           két  paletta  közül  választhatunk. Azonban a palettán belül
  45.           csak    az    egyik   színt   (a   mindenkori   háttérszínt)
  46.           választhatjuk  meg  szabadon,  a többi elôre definiált (lásd
  47.           az  elôzô  részt).  Ezzel  gyakorlatilag lehetetlenné tették
  48.           számunkra,   hogy   matematikai   eljárásokkal   döntsünk  a
  49.           színhasználatról.   A   fekete   háttérszínt  lehetne  ugyan
  50.           módosítani,  de  ezt sem igazán érdemes, mivel erre a színre
  51.           szinte  minden  képfelépítésénél  szükség van. Eddig tartott
  52.           a  mentegetôzés  amiatt,  hogy  igen tudománytalan módon azt
  53.           kell    javasolnom,    döntsön    a   programkörnyezet,   az
  54.           illeszthetôség   és   a   felhasználó   pillanatnyi  ízlése,
  55.           hangulata a két paletta felhasználása között.
  56.           
  57.           Valóságos  felüdülésnek  tûnik  ezután  az  EGA lehetôségeit
  58.           sorra  venni. Itt a 16 színt teljesen szabadon választhatjuk
  59.           meg  a  64  színt  tartalmazó palettáról. Igen ám, de melyek
  60.           legyenek  ezek?  Ha  valaki  nem bízik magában, ezt a lépést
  61.           elsô  közelítésben  nyugodtan kihagyhatja, hiszen a grafikus
  62.           üzemmód   bekapcsolásakor   a   palettatábla   automatikusan
  63.           beállítódik  egy  általános,  átfogó  színskálát  alkotva. A
  64.           konvertálás  harmadik  fázisa  így  is  mûködni  fog,  bár a
  65.           keletkezett   kép   minôsége   alighanem  messze  elmarad  a
  66.           lehetôségektôl.    Rengeteg    módszer    létezik    a    16
  67.           legoptimálisabb  szín  kiválasztására.  Ezek  közül  ezúttal
  68.           hárommal  foglalkozunk  részletesen.  A VGA konvertálásokról
  69.           szóló,   következô  részben  további  néhány  eljárás  jóval
  70.           részletesebb  tárgyalására  lesz  majd lehetôség. Most pedig
  71.           lássuk a medvét.
  72.           
  73.           
  74.            @VA színösszetolásos eljárás@N
  75.           
  76.           Az  elsônek  az  a  lényege,  hogy a színskálán az egymáshoz
  77.           legközelebb  lévô  színeket addig tologatjuk össze (kettôjük
  78.           átlagával  tesszük  egyenlôvé  ôket),  amíg már csak 16 vagy
  79.           kevesebb  szín  marad.  Erre  sok bonyolult, hosszadalmas és
  80.           rossz  eljárást  lehet  kitalálni. Van azonban egy egyszerû,
  81.           könnyen érthetô megoldás is.
  82.           
  83.           Megszámoljuk,   hány   szín   van.  Ha  16-nál  több,  akkor
  84.           beállítunk  egy  változót  (x)  2-re,  és  egy olyan ciklust
  85.           indítunk,  aminek  a  kilépési  feltétele  az, hogy a színek
  86.           száma   16   vagy  annál  kevesebb  legyen.  A  ciklusban  a
  87.           színtáblát  X-re  rendezzük.  (Az X-re rendezés azt jelenti,
  88.           hogy  a  komponenseket  egy maradék nélküli, mindig a kisebb
  89.           számra  kerekítô  osztással  elosztjuk,  majd  az  eredményt
  90.           x-szel  visszaszorozzuk.  Ezzel  végül is azt érjük el, hogy
  91.           az  X  szélességû  sávban  megszüntetjük  a különbségeket --
  92.           összetoljuk  az  értékeket.  Ezután,  ha  a színek száma még
  93.           meghaladja  a 16-ot, akkor a ciklusban megnöveljük 1-gyel az
  94.           x  értékét.  Egészen addig növeljük a sávszélességet, amíg a
  95.           színek   száma  elfogadhatóvá  nem  válik.  Ha  kiléptünk  a
  96.           ciklusból,  akkor  a  színek  egy  kicsit  sötétebbek,  mint
  97.           kellene  lenniük, hiszen az osztás mindig lefelé kerekített.
  98.           Ezért  végigszaladunk  a  színtáblán, és a színösszetevôkhöz
  99.           hozzáadunk     x/2-t:    középértékeket    képzünk.    Végül
  100.           elôállítjuk   az  EGA  számára  megfelelô,  0--3-ig  terjedô
  101.           skálát.  (Ha  a  16,7  millió  színû,  0-tól  255-ig terjedô
  102.           skálával  dolgoztunk,  akkor  egyszerûen elosztjuk 64-gyel).
  103.           A   16   szín  komponenseit  belehelyezzük  az  EGA  paletta
  104.           00rgbRGB formátumú byte-jaiba, és érvényesítjük a palettát.
  105.           
  106.           
  107.            @VA térbeli színkocka elve@N
  108.           
  109.           A  második  eljárás  kicsit fejlettebb és bonyolultabb is az
  110.           elôbbinél,  de  sokkal  pontosabban  közelíti  meg  a kívánt
  111.           színeket,  és  azt  is  biztosítja,  hogy  mind  a  16  szín
  112.           fel legyen használva.
  113.           
  114.           Képzeljünk  el  egy  olyan térbeli kockát, amelynek három --
  115.           egy  sarokban  találkozó  --  éle  a  vörös, a zöld és a kék
  116.           komponensek  skálája,  a  feketétôl  az  adott  szín  teljes
  117.           telítettségéig.   Válasszuk   az   éleket  mondjuk  5  bites
  118.           felbontásúra,  ami  azt  jelenti, hogy a színkocka térfogata
  119.           32x32x32   =   32|768  elem  lesz.  Minden  elem  egy  színt
  120.           reprezentál  a teljes színskálából, amely a kocka belsejében
  121.           helyezkedik   el.   Minden   elemet   feleltessünk  meg  egy
  122.           számlálónak,   amely   azt   tartalmazza   majd,   hogy   az
  123.           optimalizálandó  képen  hány olyan színû/színtartományba esô
  124.           pixel   van,  amit  a  számlálóelem  három  színkoordinátája
  125.           meghatároz.  Töltsük  fel  ezeket a számlálókat úgy, hogy az
  126.           optimalizálandó   kép   minden   pixelén   végigfutunk,   és
  127.           megnöveljük  a  neki  megfelelô  számlálót.  Ezután  a kocka
  128.           éleit  felezgetve  --  majd  a  keletkezett darabokat tovább
  129.           vágva  leghosszabb  élük  mentén -- hozzunk létre 16 egyenlô
  130.           térfogatú  darabot, és vizsgáljuk meg, hogy közülük hány nem
  131.           tartalmaz egyáltalán pixeleket.
  132.           
  133.           Ha  találtunk  ilyen ""üres" darabot, akkor a legtöbb pixelt
  134.           tartalmazó   darabot   ismét  elfelezzük,  az  üreset  pedig
  135.           eldobjuk.  ùjra  kiértékeljük  a  kis színkocka-darabokat. A
  136.           mûveletsort   addig  folytatjuk,  amíg  csak  találunk  üres
  137.           darabokat  (és  van  még  vágható  kockadarab).  A  végén  a
  138.           színkocka-darabokban    összeátlagoljuk    a    színelemeket
  139.           elôfordulásuk   arányában,   és  ezeket  feleltetjük  meg  a
  140.           végleges palettaelemeknek.
  141.           
  142.           
  143.            @VA színfelület-függô kiejtés algoritmusa@N
  144.           
  145.           A  harmadik  eljárás  kicsit egyszerûbb, de figyelembe veszi
  146.           azt  a  nyilvánvaló  tényt  is,  hogy  a nagyobb felületeket
  147.           takaró  színtartományoknak több árnyalatot kell biztosítani,
  148.           mint  a  pontszerûen  felbukkanó  színeknek. Elôször az elsô
  149.           eljárást  használva rendezzük a színtáblát mondjuk úgy, hogy
  150.           csak  32  szín  maradjon.  Ezután  a  32  színt  és X-et (az
  151.           osztót)    eltároljuk,   majd   visszatöltjük   az   eredeti
  152.           palettatáblát.  Mind  a  32 szín esetében megszámoljuk, hogy
  153.           az    eredeti   színtáblán   az   adott   szín   mellett   X
  154.           sávszélességen  belül  hányszor fordul elô szín. Ezután a 32
  155.           színt   sorba  rendezzük  a  hozzájuk  rendelt  elôfordulási
  156.           arányszámok   szerint,   és  kiválasztjuk  a  16  legnagyobb
  157.           értékût.  Ezek a színek lesznek tehát, amelyeket a palettába
  158.           beleszámítunk.  Innentôl  kezdve  minden ugyanúgy megy, mint
  159.           az  elôbbiekben.  Természetesen  nem kell tartanunk magunkat
  160.           a   32-es   számhoz,   kísérletezhetünk   nagyobbakkal  vagy
  161.           kisebbekkel is, célunknak megfelelôen.
  162.           
  163.           Ennek    az   eljárásnak   létezik   egy   továbbfejlesztett
  164.           változata,  amely  szintén  a  térbeli  színkockát használja
  165.           kiértékeléshez,   és   a   túl   kevés   elemet   tartalmazó
  166.           kockadarabokat is eldobja, nem csak az üreseket.
  167.           
  168.           Mivel  azonban az EGA és a VGA palettaoptimalizáló eljárásai
  169.           nagymértékben   hasonlítanak  egymáshoz,  ezt  a  lényegesen
  170.           összetettebb   mûveletsort   a  sorozat  következô  részében
  171.           tárgyaljuk majd részletesebben.
  172.           
  173.           
  174.            @VA köztes file megjelenítése@N
  175.           
  176.           Ez   talán  valamivel  egyszerûbb  kérdés,  mint  a  paletta
  177.           optimalizálása.  Néhány  eljárás  megfelelô kombinálásával a
  178.           lehetôségekhez  mérten viszonylag jó képeket építhetünk fel,
  179.           anélkül,   hogy   bonyolult   és   érthetetlen   matematikai
  180.           összefüggéseket   kellene   alkalmaznunk.   Az  egyik  ilyen
  181.           eljárás   a   színkiválasztó  algoritmus.  Mindhárom  típusú
  182.           megjelenítés   használni   fogja,  ezért  a  legalapszintûbb
  183.           függvénynek   tekinthetô.   Feladata   az,  hogy  a  hívótól
  184.           komponenshármas   (vörös,   zöld,  kék)  formában  megkapott
  185.           ""kívánt"   színhez  a  palettát  letapogatva  megkeresse  a
  186.           ""kívánt"   színt  legjobban  kifejezô  fizikai  színértéket
  187.           (vagyis  a  palettatábla  ezen elemének indexét). Az eljárás
  188.           mûködésének  a  lényege  tehát az, hogy végigszalad a teljes
  189.           palettatáblán,     és    minden    egyes    elem    esetében
  190.           komponenskülönbség-összegeket  képez  a  kívánt  szín  és  a
  191.           paletta   aktuális   eleme  között  (akárcsak  a  többfázisú
  192.           átlagképzés  esetében a mezôk között). Ezután a palettatábla
  193.           azon  elemét  választja  ki,  ahol  ez az összeg a legkisebb
  194.           volt  (ami  azt  jelenti,  hogy  ez  hasonlított legjobban a
  195.           kívánt  színre).  Az  elem  indexét  pedig  mint színértéket
  196.           visszaadja a hívónak.
  197.           
  198.           
  199.            @VA CGA üzemmódok lehetôségei@N
  200.           
  201.           Ezek  után  lássuk  a  megjelenítési eljárásokat a különbözô
  202.           üzemmódokban!  A CGA 160x200-as, igen kis felbontása mellett
  203.           ábrázolható  16  színnel  nem  raszterezhetjük  a képet. Meg
  204.           kell  elégednünk  azzal,  hogy a köztes file-ból lekérjük az
  205.           adott    pont    színhármasát,    átadjuk    a    színkeresô
  206.           algoritmusnak,   és   a   visszatérô  értéket  a  képernyôre
  207.           küldjük.  A  színkeresô algoritmusnak CGA módok esetén az 1.
  208.           tábla   adatait   kell  használnia  palettaként  (lásd  CHIP
  209.           1993/4/84).    A   320x200-as,   négyszínû   üzemmódban   is
  210.           eljátszhatjuk  ugyanezt,  de  ekkor  ne  számítsunk  túl  jó
  211.           képre.  Itt  a  nagyobb  felbontás  miatt már megengedhetünk
  212.           magunknak  némi  raszterhasználatot,  sôt,  ez  a színek kis
  213.           száma miatt elengedhetetlen is.
  214.           
  215.           Kétpontos  rasztert  készítünk, a képernyôt sakktáblaszerûen
  216.           felosztva.  Matematikailag  a  sakktábla  fehér  pontjait az
  217.           @K(A+B)  mod  2  =  0@N  kifejezés igaz értéke jelenti, a fekete
  218.           mezôket  pedig  ennek  hamissága.  A  képletben  az  @KA@N  és a
  219.           @KB@N   az  adott  pont  koordinátái,  a  @Kmod@N  pedig  egy  olyan
  220.           mûvelet,  ami  osztást  végez,  és  eredményként a maradékot
  221.           adja   vissza.   Ha   két   pontot  használhatunk  egy  szín
  222.           kifejezésére,  akkor  ezek  átlagának  kell  megegyeznie  az
  223.           adott   színnel.  Ezért  a  ""fehér"  kockákon  ugyanazt  az
  224.           eljárást   követjük,   mint   eddig  (a  kívánt  színhármast
  225.           leadjuk,  az  eredményt megjelenítjük). Ha azonban ""fekete"
  226.           kockán  vagyunk, akkor jóval összetettebb lesz a mûveletsor.
  227.           Elôször  itt  is  elkérjük  az  eredményt  a  színkiválasztó
  228.           algoritmusunktól,  és  eltároljuk  a talált színhez tartozó,
  229.           létezô  komponenshármast. Az a célunk, hogy az átlag fejezze
  230.           ki  a  kívánt  színt, tehát a másik szín megfelelô elemeinek
  231.           és  a  talált összetevôknek úgy kell elhelyezkedniük, hogy a
  232.           kívánt    szín    komponensértékei   éppen   a   két   elôzô
  233.           komponensérték  közötti szakasz felezôpontján helyezkedjenek
  234.           el az alapszínek skáláján.
  235.           
  236.           Ezt  a  legegyszerûbben  úgy  tudjuk  elérni,  hogy a talált
  237.           komponensértékeket  az  alapszínskálán, a kívánt szín azonos
  238.           összetevôin   tükrözzük;   azaz  a  megtalált  és  a  kívánt
  239.           összetevôk  értékei  közötti különbséget hozzáadjuk a kívánt
  240.           szín   megfelelô   komponensértékeihez,   és   az  átvetítés
  241.           eredménye   adja  a  második  szín  megfelelô  összetevôjét.
  242.           Képlettel:   @KXMásodik  =  XKívánt  +  (Xkívánt  -  Xtalált),@N
  243.           ahol   az   @KX@N   a  vörös,  a  zöld  vagy  a  kék  összetevôt
  244.           jelenti.  A  tükrözés  során  elôfordulhat,  hogy  a második
  245.           érték  valamelyik  komponense  0  alá  vagy  a  maximum fölé
  246.           emelkedik.  Ezt  muszáj  ellenôrizni. Ha bekövetkezik, akkor
  247.           fel  kell  tolni  0-ig,  vagy  vissza  kell  húzni a maximum
  248.           értékig  a  bûnös  összetevôt.  Az elôzô részben (1993/4/82)
  249.           szereplô   citromsárga   szín   beállítása   szemlélteti   a
  250.           mûveletet.
  251.           
  252.           Miután  megszereztük  a  második szín összes komponensét, az
  253.           eredményt    átadjuk   a   színkeresô   eljárásnak,   és   a
  254.           visszakapott  színértéket  jelenítjük  meg.  Ez az eljárás a
  255.           tükrözôs  színkeresés.  Célszerû  úgy megírni, hogy a kívánt
  256.           színértéket  komponenshármas  formájában  kapja  meg,  és  a
  257.           második  szín  értékét  adja  vissza. Még valami: a CGA ezen
  258.           üzemmódjánál  vigyáznunk  kell  arra,  hogy  az  alappaletta
  259.           táblázatot    (lásd   CHIP   1993/4/82)   használó   eredeti
  260.           színkeresô   eljárás   és  egyáltalán  minden  hivatkozás  a
  261.           táblázatra  ne  közvetlen  indexeléssel  történjen, hiszen a
  262.           színértéket  elôbb  még  egyeztetni  kell  az érvényes belsô
  263.           palettával és háttérszínnel.
  264.           
  265.           
  266.            @VAz EGA lehetôségei@N
  267.           
  268.           Az  EGA  kisfelbontású  üzemmódjaiban (320x200, 640x200) sem
  269.           érdemes  egyebekkel  vacakolni.  Használjuk az elôbbi rutint
  270.           azzal  a  kiegészítéssel,  hogy  most  16  színnel és az EGA
  271.           saját  palettatáblájával  van dolgunk. A nagyobb felbontások
  272.           esetében  (640x350,  640x480)  megkeverhetjük  egy  kicsit a
  273.           dolgokat.  Például  minden  egyes megjelenítendô színponthoz
  274.           hozzárendelhetünk  egy  valódi 2x2-es rasztermezôt, méghozzá
  275.           a  felbontás  látható  romlása  nélkül.  Ezen  a felületen 4
  276.           fokozatos  skálabontás  mellett  4096 (4x(2x2) a harmadikon)
  277.           különbözô   színt   szimulálhatunk.  Persze  ez  legalább  a
  278.           negyedére  csökken  amiatt,  hogy  egyszerre  csak  16 színt
  279.           használhatunk.   Ne   essünk  kétségbe,  inkább  kezdjük  el
  280.           felépíteni logikai pixelünket.
  281.           
  282.           A   tükrözôs  színkeresésnek  egy  olyan  változatát  fogjuk
  283.           használni,   ami  ismeri  a  kívánt  színérték  összetevôit,
  284.           paraméterként  egy másik szín (a késôbbiekben a korrigálandó
  285.           átlag)  komponenseit  kapja meg. Azeljárás olyan színértéket
  286.           ad  vissza,  amit  a  paraméterként  kapott  összetevôhármas
  287.           kívánt   értéken   való  átvetítésével  határoz  meg  (tehát
  288.           ugyanaz,  mint  a  CGA  esetében,  csak  most a korrigálandó
  289.           értéket  mi  határozzuk meg, nem keresi meg automatikusan --
  290.           ezzel  szemben  egy  belsô  változóból  ismeri a kívánt szín
  291.           összetevôit).
  292.           
  293.           Az  eljárás  a  következô.  Olvassuk  ki a köztes file-ból a
  294.           kívánt  színt.  Elôször  állítsunk  be ennek megfelelôen egy
  295.           belsô  színleíró  változót  a  módosított tükrözô algoritmus
  296.           számára,  hogy  ezt a késôbbiekben ne kelljen neki átadni. A
  297.           kiolvasott  szín komponenseit adjuk át az eredeti színkeresô
  298.           algoritmusnak  is,  ami  most az éppen érvényes EGA palettát
  299.           használja.  A  visszakapott  színt  egyrészt  helyezzük el a
  300.           2x2-es  raszter bal felsô sarkába, másrészt a szín megtalált
  301.           fizikai  összetevôit  (vörös,  zöld,  kék) tároljuk el külön
  302.           egy  változóba.  Ez  a  változó  (mondjuk  Y  rekord) lesz a
  303.           változó   átlagú   raszterképzés  pillanatnyi  átlaga.  Most
  304.           tulajdonképpen  ugyanazt  fogjuk tenni, mint a CGA esetében:
  305.           meghívjuk  a  tükrözôs  színkeresô eljárást az Y átlag három
  306.           értékével,  hogy  korrigáljuk  a  kívánt  és  a  talált szín
  307.           eltérését.
  308.           
  309.           A  visszakapott színt a raszter jobb alsó sarkába helyezzük.
  310.           Ezután  -- és ez nagyon fontos -- a most talált szín fizikai
  311.           összetevôit   és   az   Y   változó  megfelelô  komponenseit
  312.           átlagoljuk,  és  az  eredményeket  visszarakjuk az Y-ba. Ezt
  313.           kell  tennünk,  hiszen  az Y a mindenkori komponensátlagokat
  314.           tárolja,  és  ebben  most  már a második pont komponensei is
  315.           benne  vannak.  Ugyanezt elvégezzük a fennmaradó két ponttal
  316.           is.   Tehát  a  már  módosított  Y  komponenseit  átadjuk  a
  317.           tükrözôs  színkeresésnek,  a visszakapott színt a jobb felsô
  318.           sarokba  rakjuk, a talált szín igazi komponenseit átlagoljuk
  319.           az  Y-nal.  Az  Y-t  utoljára még egyszer átadjuk a tükrözôs
  320.           színkeresésnek,  a  színt  belehelyezzük  a  fennmaradt pont
  321.           helyére   a   bal   alsó  sarokba.  Az  átlagképzést  ezután
  322.           tulajdonképpen  nincs  értelme  végrehajtani,  hiszen  többé
  323.           nincs  szükségünk  Y-ra.  Látható,  hogy  így a kívánt színt
  324.           lépésenként,   egyre   jobban   és  finomabban  megközelítve
  325.           állítjuk elô a megfelelô színhatást.
  326.           
  327.           A   legjobb   minôségû   képeket   mégsem   ez   az  eljárás
  328.           szolgáltatja,   hanem   a   hibaszórásos  algoritmus  színes
  329.           változata.  Az  eljárás  tulajdonképpen  ugyanaz, mint ami a
  330.           ""Grafikus  konvertálások  -- Monokróm üzemmódok lehetôségei
  331.           2."  címû cikkben (CHIP 1993/február 63. old.) ismertettünk,
  332.           csupán  néhány  részlet  és  kikötés módosul a színhasználat
  333.           miatt.  A  ""hiba"  változó  most  három külön változó lesz,
  334.           hiszen  a  hibák  színkomponensenként  más-más jelentôségûek
  335.           lehetnek.  A  színpontkirakó  eljárás  a koordináták mellett
  336.           természetesen  három  adatot  kap  a  vörös, a zöld és a kék
  337.           kívánt   színtelítettségekre   nézve.   E   komponenseket  a
  338.           megfelelô  hibaértékek  figyelembevételével módosítva átadja
  339.           a   színkeresô   eljárásnak,  hogy  visszakapja  a  keresett
  340.           kompenzációs  szín  indexét (ez az a lépés, amely a monokróm
  341.           változatban  egyszerû  döntés  volt  --  azaz  hogy a kapott
  342.           fényesség  a  hibával  összegezve  félfényesség  alatt  vagy
  343.           fölött van-e).
  344.           
  345.           A  hibakomponenseket  természetesen ugyanúgy kell módosítani
  346.           külön-külön,    ahogyan    azt    a    monokróm   fényességi
  347.           hibaváltozóval   tettük.   Az  egyetlen  különbség,  hogy  a
  348.           hibaváltozó  abszolút  értékét  nem szabad 255 fölé növelni,
  349.           azaz   a   komponenshibákat   a   -255   és   +255   közötti
  350.           intervallumban  kell  tartani,  hiszen  ennél  nagyobb hibát
  351.           úgysem  lehet  egy  lépésben kompenzálni. Ennek a kikötésnek
  352.           egyébként   ritkán  lesz  jelentôsége,  mert  nagyon  ritkán
  353.           fordul  elô,  hogy  sorozatos  hibaképzôdések  miatt  ekkora
  354.           komponensátlag eltérések jöjjenek létre.
  355.           
  356.           @KNagy Gergely@N
  357.